CCD Project Results created by Jordan Muraskin

In [114]:
% pylab inline
from plotly.offline import download_plotlyjs, init_notebook_mode, iplot,plot
import matplotlib.pyplot as plt
init_notebook_mode()
import CCD_packages
reload(CCD_packages)
Populating the interactive namespace from numpy and matplotlib
Out[114]:
<module 'CCD_packages' from 'CCD_packages.py'>
In [113]:
! git pull
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://github.com/jordanmuraskin/CCD-scripts
   f92e9c4..239b7d4  master     -> origin/master
Updating f92e9c4..239b7d4
Fast-forward
 analysis/CCD_packages.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Get Subject Info

In [158]:
GroupDF,motionInfo=CCD_packages.getCCDSubjectData()

Select which subjects to use

In [155]:
goodsubj = CCD_packages.getSubjectList(GroupDF=GroupDF)

Resting State Network Time Series with Model

In [31]:
CCD_packages.createTimeSeriesPlots(GroupDF,goodsubj,DMN_name='RSN3',title='Default Mode Activity',ylabel='DMN Activity',figsize=(9,4.5))
CCD_packages.createTimeSeriesPlots(GroupDF,goodsubj,DMN_name='RSN0',title='Visual IC Activity',ylabel='Visual Activity',figsize=(9,4.5))

Model Correlations for Each Subject

In [6]:
CCD_packages.createSubjectModelBarPlot(GroupDF,goodsubj,figsize=(9,4.5),savefig=True)

Scan Order model correlations

In [38]:
CCD_packages.createScanOrderBarPlot(GroupDF,goodsubj)

Output Mean Subject Model Correlations for Default Mode Network

In [8]:
# print 'RSN3'
CCD_packages.printModelCorrelations(GroupDF,goodsubj,'RSN3')
No Feedback Focus Correlation= -0.70
Feedback Focus Correlation= -0.57
No Feedback Wander Correlation= 0.67
Feedback Wander Correlation= 0.59
No Feedback Overall Correlation= 0.70
Feedback Overall Correlation= 0.60
In [9]:
print 'RSN0'
CCD_packages.printModelCorrelations(GroupDF,goodsubj,'RSN0')
RSN0
No Feedback Focus Correlation= -0.54
Feedback Focus Correlation= -0.67
No Feedback Wander Correlation= 0.55
Feedback Wander Correlation= 0.66
No Feedback Overall Correlation= 0.56
Feedback Overall Correlation= 0.69
In [10]:
hmFB,hmNFB,hmDiff=CCD_packages.generateHeatMaps(GroupDF,goodsubj)

Resting State Network Connectivity Matrices

Taken from Dual Regression Outputs with PNAS RSN10

In [13]:
fig=CCD_packages.heatmap2Chord(hmFB,plotName='FeedbackChordDiagram',title='Network Correlations with Feedback On',savefig=False,scale=[-1,1])
iplot(fig)
In [14]:
iplot(CCD_packages.heatmap2Chord(hmNFB,plotName='FeedbackChordDiagram',title='Network Correlations with Feedback Off',savefig=False,scale=[-1,1]))
In [15]:
from scipy.stats import ttest_1samp
from mne.stats.multi_comp import fdr_correction
from numpy import triu_indices,tril_indices
t,p=ttest_1samp(hmDiff,0,axis=2)
row,column=triu_indices(10,1)
rowl,columnl=tril_indices(10)
# sns.heatmap(t)
p05,padj=fdr_correction(p[row,column],0.05)
fdr_corrected=t.copy()
fdr_corrected[rowl,columnl]=0
fdr_corrected[row,column]=t[row,column]*p05

Pairwise Differences between Feedback On vs. Feedback Off Resting State Network Connectivity

In [17]:
iplot(CCD_packages.heatmap2Chord(fdr_corrected,plotName='FeedbackDiffChordDiagram',title='Network Correlations differences between Feedback On/Off',savefig=False,scale=[-10,10]))
In [19]:
predictions,coefs,performance,fb_coefs,nfb_coefs=CCD_packages.linearRegressionData(GroupDF,goodsubj,numFolds=10)
Running Feedback on Regressions
Finished...
Running Feedback off Regressions
Finished...

10-Fold Linear Regression Model Prediction with RSN Timeseries

In [39]:
CCD_packages.createRegressionPlots(predictions,performance,coefs,fb_coefs,nfb_coefs,GroupDF,goodsubj)
  • *-Indicates p<0.05 FDR-Corrected Feedback On vs. Feedback Off
In [30]:
f, axarr = plt.subplots(2, sharex=True,figsize=(16,8))

TFCEposImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/Feedback/motionThresh-0.200000/cope1/cope1/cope1_tfce_corrp_tstat1.nii.gz'
posImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/Feedback/motionThresh-0.200000/cope1/cope1/cope1_tstat1.nii.gz'
TFCEnegImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/Feedback/motionThresh-0.200000/cope1/cope1/cope1_tfce_corrp_tstat2.nii.gz'
negImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/Feedback/motionThresh-0.200000/cope1/cope1/cope1_tstat2.nii.gz'
CCD_packages.createTFCEfMRIOverlayImages(TFCEposImg,posImg,TFCEnegImg,negImg,title='Focus versus Wander with Feedback On',plotToAxis=True,axes=axarr[0],f=f)

TFCEposImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/noFeedback/motionThresh-0.200000/cope1/cope1/cope1_tfce_corrp_tstat1.nii.gz'
posImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/noFeedback/motionThresh-0.200000/cope1/cope1/cope1_tstat1.nii.gz'
TFCEnegImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/noFeedback/motionThresh-0.200000/cope1/cope1/cope1_tfce_corrp_tstat2.nii.gz'
negImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/noFeedback/motionThresh-0.200000/cope1/cope1/cope1_tstat2.nii.gz'
CCD_packages.createTFCEfMRIOverlayImages(TFCEposImg,posImg,TFCEnegImg,negImg,title='Focus versus Wander with Feedback Off',plotToAxis=True,axes=axarr[1],f=f)

# f.tight_layout()
Out[30]:
<nilearn.plotting.displays.ZSlicer at 0x7fbafc22c490>
In [29]:
f, axarr = plt.subplots(1,figsize=(16,4))
TFCEposImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope1/cope1/cope1_tfce_corrp_tstat1.nii.gz'
posImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope1/cope1/cope1_tstat1.nii.gz'
TFCEnegImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope1/cope1/cope1_tfce_corrp_tstat2.nii.gz'
negImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope1/cope1/cope1_tstat2.nii.gz'
CCD_packages.createTFCEfMRIOverlayImages(TFCEposImg,posImg,TFCEnegImg,negImg,vmax=5,title='Feedback versus No Feedback F>W',plotToAxis=True,f=f,axes=axarr)
# f.tight_layout()
Out[29]:
<nilearn.plotting.displays.ZSlicer at 0x7fba6848ebd0>
In [28]:
f, axarr = plt.subplots(3, sharex=True,figsize=(16,12))

names=['Focus','Wander','Mean']

for indx,cope in enumerate(range(3,6)):
    TFCEposImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope%d/cope%d/cope%d_tfce_corrp_tstat1.nii.gz' % (cope,cope,cope)
    posImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope%d/cope%d/cope%d_tstat1.nii.gz' % (cope,cope,cope)
    TFCEnegImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope%d/cope%d/cope%d_tfce_corrp_tstat2.nii.gz' % (cope,cope,cope)
    negImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/randomise/paired-Ttest/motionThresh-0.200000/cope%d/cope%d/cope%d_tstat2.nii.gz' % (cope,cope,cope)
    CCD_packages.createTFCEfMRIOverlayImages(TFCEposImg,posImg,TFCEnegImg,negImg,title='%s Feedback vs. No Feedback' % names[indx],plotToAxis=True,axes=axarr[indx],f=f)
# f.tight_layout()
In [32]:
f, axarr = plt.subplots(1,figsize=(16,5))
TFCEposImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/PPI_DMN/randomise/Feedback/motionThresh-0.200000/cope3/cope3/cope3_tfce_corrp_tstat1.nii.gz'
posImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/PPI_DMN/randomise/Feedback/motionThresh-0.200000/cope3/cope3/cope3_tstat1.nii.gz'
TFCEnegImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/PPI_DMN/randomise/Feedback/motionThresh-0.200000/cope3/cope3/cope3_tfce_corrp_tstat2.nii.gz'
negImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/PPI_DMN/randomise/Feedback/motionThresh-0.200000/cope3/cope3/cope3_tstat2.nii.gz'
CCD_packages.createTFCEfMRIOverlayImages(TFCEposImg,posImg,TFCEnegImg,negImg,slices=[-10,41,43,45],vmax=5,title='Feedback DMN PPI',plotToAxis=True,f=f,axes=axarr)
# f.tight_layout()
Out[32]:
<nilearn.plotting.displays.ZSlicer at 0x7fba68635210>
In [95]:
f, axarr = plt.subplots(1,figsize=(16,5))
TFCEposImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/DMN/paired/motionThresh-0.200000/DMN_pair/paired_tfce_corrp_tstat1.nii.gz'
posImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/DMN/paired/motionThresh-0.200000/DMN_pair/paired_tstat1.nii.gz'
TFCEnegImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/DMN/paired/motionThresh-0.200000/DMN_pair/paired_tfce_corrp_tstat2.nii.gz'
negImg='/home/jmuraskin/Projects/CCD/working_v1/groupAnalysis/DMN/paired/motionThresh-0.200000/DMN_pair/paired_tstat2.nii.gz'
CCD_packages.createTFCEfMRIOverlayImages(TFCEposImg,posImg,TFCEnegImg,negImg,slices=range(-10,50,15),vmax=5,title='Dual Regression DMN Feedback versus No Feedback',plotToAxis=True,f=f,axes=axarr)
# f.tight_layout()
Out[95]:
<nilearn.plotting.displays.ZSlicer at 0x7fbafceb1dd0>

Default Mode Regulation versus Phenotypic Measures

Very Preliminary

First lets use only total scores as our independent variables to predict DMN correlation with Model

In [159]:
from pandas import read_csv
#phenotypic info
phenoFile='/home/jmuraskin/Projects/CCD/Pheno/narsad+vt_new.csv'

pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj

addmotion=True
addNOFB=False


phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDAIM_41','V1_CCDSIPI_49','V1_CCDERQ_13','V1_DBDI_22']


modelInfo=np.arctanh(GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='FEEDBACK'],axis=0)].groupby('Subject_ID').mean()['modelcorr'])
motionInfo=GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='FEEDBACK'],axis=0)].groupby('Subject_ID').mean()['meanFD']
NOFB=np.arctanh(GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='NOFEEDBACK'],axis=0)].groupby('Subject_ID').mean()['modelcorr'])
if addmotion:
    
    pheno=pheno.loc[subject_list][phenoValues]
    phenoValues+=['meanFD']
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]

if addNOFB:
    phenoValues+=['NOFB']
    modelX['NOFB']=NOFB
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues,RLM=True,figsize=(20,15))
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       29
Method:                          IRLS   Df Model:                            7
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        14:23:52                                         
No. Iterations:                    30                                         
=================================================================================
                    coef    std err          z      P>|z|      [95.0% Conf. Int.]
---------------------------------------------------------------------------------
const             0.1440      0.215      0.670      0.503        -0.277     0.565
V1_DEM_001       -0.0025      0.002     -1.538      0.124        -0.006     0.001
V1_DEM_002       -0.0001      0.039     -0.003      0.998        -0.077     0.076
V1_CCDAIM_41     -0.0019      0.001     -2.286      0.022        -0.003    -0.000
V1_CCDSIPI_49     0.0017      0.001      1.923      0.054     -3.23e-05     0.003
V1_CCDERQ_13      0.0080      0.002      3.921      0.000         0.004     0.012
V1_DBDI_22       -0.0033      0.002     -1.365      0.172        -0.008     0.001
meanFD           -1.6354      0.583     -2.807      0.005        -2.777    -0.493
=================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Lets Run all sub-scales together

In [160]:
phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDAIM_42','V1_CCDAIM_43','V1_CCDAIM_44','V1_CCDAIM_45','V1_CCDSIPI_46','V1_CCDSIPI_47','V1_CCDSIPI_48','V1_CCDRSQ_72','V1_CCDRSQ_73','V1_CCDRSQ_74','V1_CCDRSQ_75','V1_CCDPANAS_21','V1_CCDPANAS_22','V1_CCDERQ_11','V1_CCDERQ_12']
pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(30,40),plotFigure=True)
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       19
Method:                          IRLS   Df Model:                           17
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        14:23:59                                         
No. Iterations:                    21                                         
==================================================================================
                     coef    std err          z      P>|z|      [95.0% Conf. Int.]
----------------------------------------------------------------------------------
const              0.1386      0.301      0.460      0.646        -0.452     0.729
V1_DEM_001        -0.0051      0.003     -2.032      0.042        -0.010    -0.000
V1_DEM_002         0.0059      0.050      0.118      0.906        -0.092     0.104
V1_CCDAIM_42      -0.0027      0.003     -1.080      0.280        -0.008     0.002
V1_CCDAIM_43       0.0040      0.006      0.709      0.478        -0.007     0.015
V1_CCDAIM_44      -0.0066      0.005     -1.222      0.222        -0.017     0.004
V1_CCDAIM_45       0.0104      0.004      2.383      0.017         0.002     0.019
V1_CCDSIPI_46     -0.0043      0.003     -1.279      0.201        -0.011     0.002
V1_CCDSIPI_47      0.0082      0.002      3.304      0.001         0.003     0.013
V1_CCDSIPI_48     -0.0006      0.003     -0.208      0.835        -0.006     0.005
V1_CCDRSQ_72       0.0020      0.003      0.713      0.476        -0.004     0.008
V1_CCDRSQ_73      -0.0074      0.009     -0.840      0.401        -0.025     0.010
V1_CCDRSQ_74       0.0007      0.007      0.096      0.924        -0.014     0.015
V1_CCDRSQ_75       0.0087      0.008      1.140      0.254        -0.006     0.024
V1_CCDPANAS_21     0.0012      0.004      0.283      0.777        -0.007     0.009
V1_CCDPANAS_22    -0.0136      0.004     -3.029      0.002        -0.022    -0.005
V1_CCDERQ_11       0.0115      0.004      2.970      0.003         0.004     0.019
V1_CCDERQ_12       0.0055      0.005      1.061      0.289        -0.005     0.016
meanFD            -1.8665      0.660     -2.827      0.005        -3.160    -0.573
==================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Run with ERQ sub-scales

In [115]:
phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDERQ_11','V1_CCDERQ_12']
pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(15,10))
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       31
Method:                          IRLS   Df Model:                            5
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        11:39:32                                         
No. Iterations:                    25                                         
================================================================================
                   coef    std err          z      P>|z|      [95.0% Conf. Int.]
--------------------------------------------------------------------------------
const            0.1171      0.146      0.803      0.422        -0.169     0.403
V1_DEM_001      -0.0026      0.001     -1.736      0.083        -0.005     0.000
V1_DEM_002      -0.0022      0.037     -0.059      0.953        -0.075     0.071
V1_CCDERQ_11     0.0070      0.002      3.228      0.001         0.003     0.011
V1_CCDERQ_12     0.0089      0.004      2.540      0.011         0.002     0.016
meanFD          -1.7764      0.534     -3.330      0.001        -2.822    -0.731
================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Run with SIPI sub-scales

In [116]:
phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDSIPI_46','V1_CCDSIPI_47','V1_CCDSIPI_48']
pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(15,10))
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       30
Method:                          IRLS   Df Model:                            6
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        11:39:40                                         
No. Iterations:                    31                                         
=================================================================================
                    coef    std err          z      P>|z|      [95.0% Conf. Int.]
---------------------------------------------------------------------------------
const             0.5414      0.269      2.014      0.044         0.015     1.068
V1_DEM_001       -0.0028      0.002     -1.282      0.200        -0.007     0.001
V1_DEM_002       -0.0268      0.051     -0.529      0.597        -0.126     0.072
V1_CCDSIPI_46     0.0001      0.003      0.049      0.961        -0.005     0.005
V1_CCDSIPI_47     0.0034      0.003      1.337      0.181        -0.002     0.008
V1_CCDSIPI_48    -0.0032      0.003     -1.135      0.256        -0.009     0.002
meanFD           -1.8978      0.743     -2.556      0.011        -3.353    -0.442
=================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Run with AIM sub-scales

In [117]:
phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDAIM_42','V1_CCDAIM_43','V1_CCDAIM_44','V1_CCDAIM_45']

pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(15,15))
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       29
Method:                          IRLS   Df Model:                            7
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        11:39:44                                         
No. Iterations:                    29                                         
================================================================================
                   coef    std err          z      P>|z|      [95.0% Conf. Int.]
--------------------------------------------------------------------------------
const            0.4974      0.216      2.303      0.021         0.074     0.921
V1_DEM_001      -0.0012      0.002     -0.632      0.527        -0.005     0.003
V1_DEM_002      -0.1020      0.058     -1.768      0.077        -0.215     0.011
V1_CCDAIM_42     0.0013      0.002      0.669      0.504        -0.003     0.005
V1_CCDAIM_43    -0.0004      0.006     -0.067      0.947        -0.012     0.011
V1_CCDAIM_44    -0.0073      0.006     -1.126      0.260        -0.020     0.005
V1_CCDAIM_45     0.0126      0.005      2.485      0.013         0.003     0.023
meanFD          -2.5881      0.712     -3.633      0.000        -3.984    -1.192
================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Run with PANAS Sub-Scales

In [120]:
phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDPANAS_21','V1_CCDPANAS_22']
pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(15,10))
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       31
Method:                          IRLS   Df Model:                            5
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        11:50:47                                         
No. Iterations:                    20                                         
==================================================================================
                     coef    std err          z      P>|z|      [95.0% Conf. Int.]
----------------------------------------------------------------------------------
const              0.5182      0.186      2.781      0.005         0.153     0.883
V1_DEM_001        -0.0028      0.002     -1.360      0.174        -0.007     0.001
V1_DEM_002        -0.0238      0.046     -0.518      0.605        -0.114     0.066
V1_CCDPANAS_21     0.0012      0.002      0.468      0.640        -0.004     0.006
V1_CCDPANAS_22    -0.0019      0.003     -0.671      0.502        -0.007     0.004
meanFD            -1.9624      0.655     -2.994      0.003        -3.247    -0.678
==================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Run with RSQ sub-scales

In [122]:
phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDRSQ_72','V1_CCDRSQ_73','V1_CCDRSQ_74','V1_CCDRSQ_75']
pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=modelInfo
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(15,15))
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       30
Method:                          IRLS   Df Model:                            6
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        11:54:11                                         
No. Iterations:                    16                                         
================================================================================
                   coef    std err          z      P>|z|      [95.0% Conf. Int.]
--------------------------------------------------------------------------------
const            0.4260      0.177      2.412      0.016         0.080     0.772
V1_DEM_001      -0.0015      0.002     -0.759      0.448        -0.005     0.002
V1_DEM_002      -0.0319      0.045     -0.717      0.473        -0.119     0.055
V1_CCDRSQ_72     0.0016      0.002      0.733      0.464        -0.003     0.006
V1_CCDRSQ_73    -0.0009      0.008     -0.112      0.911        -0.017     0.015
V1_CCDRSQ_74    -0.0015      0.006     -0.264      0.791        -0.013     0.010
V1_CCDRSQ_75     0.0040      0.007      0.604      0.546        -0.009     0.017
meanFD          -1.8976      0.673     -2.822      0.005        -3.216    -0.579
================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .

Sanity Check--Do Total Measures correlate with model R values with no feedback

In [142]:
phenoFile='/home/jmuraskin/Projects/CCD/Pheno/narsad+vt_new.csv'

pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj

addmotion=True


phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDAIM_41','V1_CCDSIPI_49','V1_CCDERQ_13','V1_DBDI_22']


# modelInfo=np.arctanh(GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='NOFEEDBACK'],axis=0)].groupby('Subject_ID').mean()['modelcorr'])
motionInfo=GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='NOFEEDBACK'],axis=0)].groupby('Subject_ID').mean()['meanFD']

if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=NOFB
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(20,15),plotFigure=False)
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       29
Method:                          IRLS   Df Model:                            7
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        12:09:38                                         
No. Iterations:                    49                                         
=================================================================================
                    coef    std err          z      P>|z|      [95.0% Conf. Int.]
---------------------------------------------------------------------------------
const             0.5362      0.365      1.470      0.142        -0.179     1.251
V1_DEM_001       -0.0021      0.003     -0.749      0.454        -0.008     0.003
V1_DEM_002       -0.0603      0.069     -0.872      0.383        -0.196     0.075
V1_CCDAIM_41     -0.0002      0.001     -0.130      0.897        -0.003     0.003
V1_CCDSIPI_49     0.0011      0.001      0.779      0.436        -0.002     0.004
V1_CCDERQ_13      0.0015      0.004      0.435      0.664        -0.005     0.008
V1_DBDI_22       -0.0110      0.004     -2.813      0.005        -0.019    -0.003
meanFD           -2.5378      0.985     -2.577      0.010        -4.468    -0.608
=================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .
In [145]:
modelInfo=np.arctanh(GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='NOFEEDBACK'],axis=0)].groupby('Subject_ID').mean()['modelcorr'])
motionInfo=GroupDF[np.all([GroupDF.Subject_ID.isin(subject_list),GroupDF.FB=='NOFEEDBACK'],axis=0)].groupby('Subject_ID').mean()['meanFD']


phenoValues=['V1_DEM_001','V1_DEM_002','V1_CCDAIM_42','V1_CCDAIM_43','V1_CCDAIM_44','V1_CCDAIM_45','V1_CCDSIPI_46','V1_CCDSIPI_47','V1_CCDSIPI_48','V1_CCDRSQ_72','V1_CCDRSQ_73','V1_CCDRSQ_74','V1_CCDRSQ_75','V1_CCDPANAS_21','V1_CCDPANAS_22','V1_CCDERQ_11','V1_CCDERQ_12']
pheno=read_csv(phenoFile)
pheno=pheno.set_index('participant').fillna(value=0)
subject_list=goodsubj
if addmotion:
    pheno=pheno.loc[subject_list][phenoValues]
    pheno['meanFD']=motionInfo
    modelX=pheno
else:
    modelX=pheno.loc[subject_list][phenoValues]
    
inputs=NOFB
# inputs=array(fb_performance['R'])
# inputs=array(fb_coefs[fb_coefs.pe==3]['Coef'])
results=CCD_packages.runRLMR(inputs,modelX,phenoValues + ['meanFD'],RLM=True,figsize=(30,40),plotFigure=False)
                    Robust linear Model Regression Results                    
==============================================================================
Dep. Variable:              modelcorr   No. Observations:                   37
Model:                            RLM   Df Residuals:                       19
Method:                          IRLS   Df Model:                           17
Norm:                          HuberT                                         
Scale Est.:                       mad                                         
Cov Type:                          H1                                         
Date:                Fri, 26 Aug 2016                                         
Time:                        12:30:58                                         
No. Iterations:                    37                                         
==================================================================================
                     coef    std err          z      P>|z|      [95.0% Conf. Int.]
----------------------------------------------------------------------------------
const             -0.0313      0.459     -0.068      0.946        -0.930     0.868
V1_DEM_001        -0.0069      0.003     -2.045      0.041        -0.013    -0.000
V1_DEM_002         0.0408      0.076      0.540      0.589        -0.107     0.189
V1_CCDAIM_42       0.0001      0.003      0.037      0.971        -0.006     0.007
V1_CCDAIM_43       0.0050      0.007      0.671      0.502        -0.010     0.019
V1_CCDAIM_44       0.0011      0.007      0.144      0.885        -0.014     0.016
V1_CCDAIM_45       0.0091      0.006      1.541      0.123        -0.002     0.021
V1_CCDSIPI_46     -0.0043      0.004     -0.966      0.334        -0.013     0.004
V1_CCDSIPI_47      0.0072      0.003      2.148      0.032         0.001     0.014
V1_CCDSIPI_48      0.0023      0.004      0.597      0.550        -0.005     0.010
V1_CCDRSQ_72       0.0057      0.004      1.302      0.193        -0.003     0.014
V1_CCDRSQ_73      -0.0121      0.012     -1.000      0.317        -0.036     0.012
V1_CCDRSQ_74      -0.0031      0.010     -0.309      0.757        -0.023     0.017
V1_CCDRSQ_75       0.0209      0.011      1.940      0.052        -0.000     0.042
V1_CCDPANAS_21    -0.0052      0.005     -0.956      0.339        -0.016     0.005
V1_CCDPANAS_22    -0.0274      0.006     -4.386      0.000        -0.040    -0.015
V1_CCDERQ_11       0.0077      0.005      1.462      0.144        -0.003     0.018
V1_CCDERQ_12       0.0040      0.007      0.567      0.571        -0.010     0.018
meanFD            -0.6410      1.058     -0.606      0.545        -2.714     1.432
==================================================================================

If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .
In [147]:
 
Out[147]:
Coef pe subj fb
0 -0.089333 0 CCD012 FEEDBACK
1 0.090355 1 CCD012 FEEDBACK
2 0.063963 2 CCD012 FEEDBACK
3 0.071087 3 CCD012 FEEDBACK
4 0.010880 4 CCD012 FEEDBACK
5 -0.127348 5 CCD012 FEEDBACK
6 0.235651 6 CCD012 FEEDBACK
7 -0.022235 7 CCD012 FEEDBACK
8 -0.032288 8 CCD012 FEEDBACK
9 0.092932 9 CCD012 FEEDBACK
In [ ]: